
using System;
using System.Text;

using NHibernate;
using NHibernate.Cfg;
using NHibernate.Criterion;
using NHibernate.Exceptions;

using LastFMGenNHibernate.EN.LastFM;
using LastFMGenNHibernate.CAD.LastFM;

namespace LastFMGenNHibernate.CEN.LastFM
{
        public partial class UsuarioRegistradoCEN
        {
        public bool Suscribirse (int p_oid)
        {
                /*PROTECTED REGION ID(LastFM.UsuarioRegistradoCEN_Suscribirse_precondition) START*/
                UsuarioRegistradoEN usuaAux = _IUsuarioRegistradoCAD.ReadOIDDefault(p_oid);
                // Preconditions
                // if( !() )

                //precondiciones 
                if (usuaAux.Suscrito == true)
                {
                    throw new ModelException("No puede suscribirse porque ya esta suscrito");
                }
                else
                {
                    usuaAux.Suscrito = true;
                }
                usuaAux.Estado = "suscrito";
                Modify(usuaAux.Id, usuaAux.Nombre, usuaAux.Correo, usuaAux.Suscrito, usuaAux.Fecha, usuaAux.TiempoEscuchado, usuaAux.SesionIniciada, usuaAux.Estado);

            return usuaAux.Suscrito;
        }
        }
}
